Conventionally, there is a parallel computer provided with a plurality of nodes that carries out arithmetic processing. The nodes provided in the parallel computer are connected via a network including a plurality of communication equipments, routing devices (for example, switches), and the like and carry out data communication to each other.
FIG. 10 is a drawing illustrating a configuration example of a parallel computer 300.
The parallel computer 300 illustrated in FIG. 10 is provided with nodes N0 through N7 that carry out calculation and switches 310 through 317 that transfer received data to a specific destination node. The switches 310 through 317 configure a one dimensional meshed network that has the switches arranged on a straight line.
As such a switch receives a packet from an input port connected to the nodes and other switches, it determines an output port to output the packet based on destination information included in the received packet. Then, the switch outputs the packet to the determined output port.
In a case of receiving a plurality of packets to output to a same output port, the switch carries out arbitration such that a number of packets outputted from each input port to the output ports become equal. Then, the switch sends the packets from the output ports in accordance with the arbitration result.
In relation to the above technique, there is a wireless multi-hop network including a sending node that determines a packet size in accordance with a hop count, which is a number of transfer to the destination, to carry out fragmentation that fragments sending data into packets in a smaller size and a relay node that sends a packet by priority control in accordance with the hop count.
In addition, there is a wireless data communication method that carries out efficient communication at any time by defining a length of the next packet based on a length of a packet that has completed communication.
Japanese Laid-open Patent Publication No. 2003-273788 and Japanese Laid-open Patent Publication No. 2001-326648 are examples of related art.
In the parallel computer 300 described above, when communication is focused on a part of the switches by carrying out group communication between the nodes N0 through N7, a node having a larger hop count to the switch on which the communication is focused greatly decreases in the communication bandwidth. In this case, compared with data from a node having a smaller hop count, data arrival from a node having a larger hop count to a destination node is delayed.
FIG. 11 is a drawing illustrating an example of group communication in which the nodes N0 through N6 send data to the node N7.
In general, the switches carry out arbitration such that packets from each input port are outputted equally. In other words, the switches carry out arbitration of packets to be inputted such that a number of outputs, of the packets inputted to each input port, to output ports become equal, that is, become ½ each. Accordingly, a number of packets sent from the node N6 to the switch 316 and also sent from the switch 316 to the switch 317 becomes ½ of a total number of packets sent from the switch 316 to the switch 317.
In FIG. 11, a ratio of a number of packets sent by an arbitrary node to a number of packets sent to the node N7, in other words, a number of packets sent to the switch 317 is defined as “a packet number ratio”. In this case, the packet number ratio at the node N6 is ½.
A number of packets sent from the switch 315 to the switch 316 and also sent from the switch 316 to the switch 317 become ½ of the total number of packets sent from the switch 316 to the switch 317. Then, a number of packets sent from the node N5 to the switch 315 and also sent from the switch 315 to the switch 316 becomes ½ of the total number of packets sent from the switch 315 to the switch 316. Accordingly, the packet number ratio at the node N5 is ¼.
Similarly, the packet number ratios at the nodes N4, N3, N2, and N1 is ⅛, 1/16, 1/32, and 1/64, respectively.
Here, a ratio of a size of a packet sent by each node, which is an originator of group communication, is defined as “a packet size ratio”. In the group communication illustrated in FIG. 11, all nodes output packets in a similar size, so that the packet size ratio at the nodes N6, N5, N4, N3, N2, N1, and N0 is 1:1:1:1:1:1:1, respectively.
A ratio of a communication bandwidth used by an originating node to send a packet to the entire communication bandwidth is defined as “a communication bandwidth ratio”. In a case that all nodes output packets in a similar size, the packet number ratio at each node directly becomes the communication bandwidth ratio, so that the communication bandwidth ratios at the nodes N6, N5, N4, N3, N2, N1, and N0 becomes ½, ¼, ⅛, 1/16, 1/32, 1/64, and 1/64, respectively, where the entire bandwidth is 1.
In the example of group communication illustrated in FIG. 11, it is considered that the communication bandwidths of the nodes N0 and N1 that are far from the destination node N7 greatly decreases relative to the nodes N6 and N5 that are close to the destination node N7. Unless communication of all nodes is completed, group communication is not completed. Therefore, compared with the data from the node N6, which is close to the destination node N7, to the destination node N7, data arrival from the nodes N0 and N1 to the destination node N7 is delayed. In this case, the communication bandwidths of the nodes N0 and N1, which are far from the destination node N7, becomes a bottleneck. The data arrival from a node having a larger hop count to a destination node is delayed.
Even in communication other than group communication, when communication is focused on a part of switches, the communication bandwidth of a node having a larger hop count, which is a number of transfer to the switch on which the communication is focused, greatly decreases.
For example, in a network as illustrated in FIG. 11, in a state of 36 switches are connected in alignment in a row, the communication bandwidth of the node farthest from the destination node decreases to approximately 1/34.3 billion, which is a state practically difficult to take part in the communication.
As just explained, when communication is focused on a part of switches, such as in group communication, the communication bandwidth of a node having a larger hop count to the switch on which the communication is focused greatly decreases, so that the data arrival from the node having a larger hop count to the destination node is delayed. Therefore, depending on the magnitude of the hop count, a bias occurs in the data arrival time to the destination node.